

project , uses("constituency_elections.dta")


			
*controlling for previous competition: control for competitive_prev			
foreach v in  spending_total_adj candidates effective_candidates effective_spenders inc_vote_pct inc_spending_pct     { 

		use "constituency_elections.dta", clear //open data
		
		estimates clear
	
		eststo: reg   `v'   spending_limit_predicted_adj margin_prev ,  cluster(const_id) 
		estadd scalar  Observations = e(N)
		estadd scalar  Constituencies = e(N_clust)	
				
		eststo: reg   `v'   spending_limit_predicted_adj  county electors countyXelectors margin_prev ,  cluster(const_id) 
		estadd scalar  Observations = e(N)	
		estadd scalar  Constituencies = e(N_clust)	
					
		eststo: reghdfe   `v'   spending_limit_predicted_adj  county  countyXelectors margin_prev, a( date date#c.electors ) cluster(const_id) keepsingletons
		estadd scalar  Observations = e(N)	
		estadd scalar  Constituencies = e(N_clust)	
					
		eststo: reghdfe   `v'   spending_limit_predicted_adj   countyXelectors margin_prev , a( date date#c.electors const_id ) cluster(const_id) keepsingletons
		estadd scalar  Observations = e(N)					
		estadd scalar  Constituencies = e(N_clust)	
		
		esttab  using ./tables/`v'_controlmargin.tex ///
		,  replace   keep(spending_limit_predicted_adj  ) label se nostar  nomtitles  nolines ///
		substitute("%" "\%"  "Observations" "\midrule Observations" "\hline" "\midrule" N_clust "Constituencies" "[1em]" "") noobs  nonum fragment scalar(Observations  Constituencies) b(%4.2f) sfmt(  %9.0fc  %9.0fc   ) ///
		mgroups("`: var la `v''"  , pattern(1 0 0 0) prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span})) 

		project , creates("tables/`v'_controlmargin.tex")	
				
}
			
		

		
			
	*candidate-level difference-in-difference estimates by party: control for competitive_prev	
	use "candidate_elections.dta", clear //open data
	eststo clear
	
	foreach v in spending_total_adj spending_pct vote_pct   {
		eststo: reghdfe `v' spending_limit_predicted_adj labXlimit  libXlimit otherXlimit margin_prev   , a( cand_id party_election ) cluster(const_id) keepsingletons
		estadd scalar  Observations = e(N)	
		
		esttab  using ./tables/party_controlmargin.tex ///
		,  replace   keep( spending_limit_predicted_adj labXlimit  libXlimit otherXlimit    ) label se nostar noobs nomtitles nonumbers nolines ///
		substitute( "StDev" "St. Dev." "Observations" "\midrule Observations" "\hline" "\midrule" N_clust "Constituencies" "[1em]" "") compress  fragment scalar(Observations  ) b(%4.2f) sfmt(  %9.0fc  %9.0fc %9.2fc  ) ///
		mgroups("Spending" "\% Spending" "\% Votes" , pattern(1 1 1 ) prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span})) 
		
	}			
	project , creates("tables/party_controlmargin.tex")	
				
	

		
	***incumbency advantage & spending limits - spending and vote shares: control for competitive_prev	
	use "candidate_elections.dta", clear //open data

	eststo clear
	
	eststo: reghdfe spending_pct inc  margin_prev , a( cand_id party_election) cluster(const_id) keepsingletons
	estadd scalar  Observations = e(N)		
	eststo: reghdfe spending_pct inc incXspending_limit_predicted_adj   spending_limit_predicted_adj margin_prev , a( cand_id party_election ) cluster(const_id)  keepsingletons
	estadd scalar  Observations = e(N)	
		
	
	eststo: reghdfe vote_pct inc margin_prev , a( cand_id party_election) cluster(const_id) keepsingletons
	estadd scalar  Observations = e(N)		
	eststo: reghdfe vote_pct inc incXspending_limit_predicted_adj   spending_limit_predicted_adj margin_prev, a( cand_id party_election ) cluster(const_id)  keepsingletons
	estadd scalar  Observations = e(N)	
	
	
	esttab  using ./tables/incumbency_controlmargin.tex ///
	,  replace   keep(inc  incXspending_limit_predicted_adj   spending_limit_predicted_adj   ) label se nostar noobs nomtitles nonumbers nolines ///
	substitute( "StDev" "St. Dev." "Observations" "\midrule Observations" "\hline" "\midrule" N_clust "Constituencies" "[1em]" "") compress  fragment scalar(Observations  ) b(%4.2f) sfmt(  %9.0fc  %9.0fc %9.2fc  ) ///
	mgroups("\% Spending" "\% Votes" , pattern(1 0 1 0 0 0) prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span})) 
	project , creates("tables/incumbency_controlmargin.tex")	
	
	
	
